Каково Арифметическое переполнение?

 

Арифметическое переполнение - условие, которое происходит в компьютерах, особенно в области программирования, когда вычисление или операция приводят к результату, который является слишком большим для системы хранения или регистра, чтобы обратиться. Переполнение может также обратиться к количеству с данным результатом, превышает память, определяемую для хранения. В некоторых случаях, переполнение данных может быть запасено в другом местоположении хранения данных; в других это может заставить программу сталкиваться, медленно бежать, или приводить к неточным результатам. Арифметическое переполнение не ограничено полным личным или деловым компьютерам, поскольку у простых карманных калькуляторов и коммуникационных устройств также есть пределы к величине значений, с которыми они могут обратиться.

Программисты имеют тенденцию изучать методы контакта с ошибками арифметического переполнения рано в их educations, как они имеют тенденцию быть очень общими программными ошибками получить. Есть много различных методов для того, чтобы вручить арифметическое переполнение. Дизайн программы играет очень важную роль; хорошо разработанная программа, которая использует последовательные и правильные типы данных и длины, не должна испытать такие ошибки. Если большая забота помещена в проверку заказа операций и хранения всего последовательного, ошибок переполнения можно избежать полностью.

Другой способ иметь дело с ошибками арифметического переполнения состоит в том, чтобы разломать операции на меньшие шаги. Для системы часто легче обратиться с простыми, малыми операциями чем сложные операции, включающие большие количества и чрезмерные вычисления. То, когда не чрезвычайно важно, чтобы число возвратилось, абсолютно точно, это будет иногда достаточно, чтобы написать программу таким способом, которым это уведомляет пользователя ошибки переполнения, но возвращает значение anyways. Наиболее распространенный способ обратиться с ошибкой арифметического переполнения состоит в том, чтобы проигнорировать это полностью. В то время как это обычно безопасно, это может дать неправильные результаты и может поставить под угрозу полноценность и эффективность программы.

Арян 5 рейсов 501 ясно иллюстрирует опасности ошибок арифметического переполнения. Полет был первой опытной партией европейской Арян 5 расходных систем запуска, которые повторно использовали большую часть кода от старой Арян 4 системы. Ускорение Арян 5 было, однако, значительно больше чем та из Арян 4, и программирование не соответствовало, чтобы обратиться с большими необходимыми значениями. Также, ракета оставила свой намеченный курс полета 37 секундами после запуска и должна была быть разрушена. Эта простая программная ошибка стоила сотен миллионов Долларов США.

 

 

 

 

[<< Назад ] [Вперед >> ]

 

 

Используются технологии uCoz